#ifndef DRAW_WORLD_HPP_INCLUDED
#define DRAW_WORLD_HPP_INCLUDED

#include "game_logic.hpp"
#include "pathfind.hpp"
#include "tile_logic.hpp"

class world;
class government;

namespace hex {

class camera;
class gamemap;
class location;

class renderer
{
public:
	renderer(const world& w, const government& perspective);

	void draw_world(const camera& cam, const location& focus, const migrations_list& migrations, const route_map* routes);

	bool get_selected_hex(camera& cam, hex::location* current) const;

	static int current_frame() { return current_frame_; }

private:
	const world& world_;
	const gamemap& map_;
	const government& perspective_;

	static int current_frame_;
};

}

#endif
